<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <!-- 给 script 标签添加 `type=module` 的属性，就可以以 ES Module 的标准执行 JS 代码 -->
  <script type="module">
    console.log('this is module')
  </script>

  <!-- 1. ESM 会自动采用严格模式，忽略 `use strict`：不能使用全局的 `this` -->
  <!-- <script type="module">
    console.log(this)
  </script> -->

  <!-- 2. 每个 ESM 运行中单独的私有作用域 -->
  <!-- <script type="module">
    var foo = '100'
    console.log(foo)
  </script>
  <script type="module">
    console.log(foo)
  </script> -->

  <!-- 3. ESM 是通过 CORS 的方式请求外部 JS 模块的 -->
  <!-- 4. ES 的 script 标签会自动延迟执行脚本，相当于添加了一个 `defer` 属性 -->
  <script type="module" src="./alert.js"></script>
  <p>666</p>
</body>
</html>